Apache Cocoon est un projet
libre de la Fondation Apache. Cocoon met en oeuvre un système de pipeline de composants pour le développement d'applications Web. Le principe est de partir de documents au format XML, qui subissent des transformations via les pipelines, pour être transformés dans d'autres formats (HTML, PDF, etc.).
Les composants des pipelines sont écrits en Java (langage). Les documents XML sont traités sous forme d'évènements SAX.
La force d'Apache Cocoon est de pouvoir créer n'importe quel type de document, du moment que l'on utilise les composants capables de le faire. Cela permet de pouvoir non seulement envoyer à un client une page Web, mais aussi cette même page au format PDF, ou tout autre format.
Le logiciel est libre, distribué selon les termes de la Licence Apache.
Le sitemap
Le sitemap est le coeur d'une application développée avec Apache Cocoon. Il décrit quelles transformations les documents XML devront subir pour répondre à une requête donnée. En effet, un document PDF et un document HTML ne seront pas générés de la même manière.
Les pipelines
Un pipeline est constitué de plusieurs composants : un générateur, un ou plusieurs transformateurs, et un sérialiseur. Un pipeline minimal contient un générateur, un transformateur, et un sérialiseur.
Les générateurs
Un générateur est un composant dont le rôle est de générer les évènements
SAX à l'entrée du pipeline. L'exemple le plus simple est de lire un fichier XML sur le disque dur, et de générer les événements SAX correspondants, mais un générateur peut aussi par exemple utiliser comme source un flux (
RSS).
Les transformateurs
Les transformateurs sont les composants du pipeline chargés de transformer les évènements
SAX qu'ils reçoivent en d'autres événements
SAX. Pour cela, les transformateurs peuvent utiliser des feuilles de style XSLT
Les sérialiseurs
Le sérialiseur est le dernier composant d'un pipeline Cocoon. Il transforme les événements
SAX qu'il reçoit en un flux d'octets qui sera transmis au client.
Liens externes